home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libblas / trsm.z / trsm
Encoding:
Text File  |  1998-10-30  |  20.0 KB  |  331 lines

  1.  
  2.  
  3.  
  4. ____TTTTRRRRSSSSMMMM((((3333FFFF))))                                                            ____TTTTRRRRSSSSMMMM((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dtrsm, strsm, ztrsm, ctrsm - BLAS level three Solution of Systems of
  10.      Equations
  11.  
  12.  
  13. FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  15.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,ttttrrrraaaannnnssssaaaa,,,,ddddiiiiaaaagggg
  16.            iiiinnnntttteeeeggggeeeerrrr            mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb
  17.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaallllpppphhhhaaaa
  18.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****))))
  19.  
  20.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  21.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,ttttrrrraaaannnnssssaaaa,,,,ddddiiiiaaaagggg
  22.            iiiinnnntttteeeeggggeeeerrrr            mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb
  23.            rrrreeeeaaaallll               aaaallllpppphhhhaaaa
  24.            rrrreeeeaaaallll               aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****))))
  25.  
  26.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  27.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,ttttrrrraaaannnnssssaaaa,,,,ddddiiiiaaaagggg
  28.            iiiinnnntttteeeeggggeeeerrrr            mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb
  29.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaallllpppphhhhaaaa
  30.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****))))
  31.  
  32.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  33.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ssssiiiiddddeeee,,,,uuuupppplllloooo,,,,ttttrrrraaaannnnssssaaaa,,,,ddddiiiiaaaagggg
  34.            iiiinnnntttteeeeggggeeeerrrr            mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb
  35.            ccccoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa
  36.            ccccoooommmmpppplllleeeexxxx            aaaa(((( llllddddaaaa,,,,****)))),,,, bbbb((((llllddddbbbb,,,,****))))
  37.  
  38.  
  39. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  40.      vvvvooooiiiidddd ddddttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  41.            OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee         ssssiiiiddddeeee;;;;
  42.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee        uuuupppplllloooo;;;;
  43.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee       ttttrrrraaaannnnssssaaaa;;;;
  44.            MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr  ddddiiiiaaaagggg;;;;
  45.            IIIInnnntttteeeeggggeeeerrrr               mmmm,,,, nnnn,,,, ttttddddaaaa,,,, ttttddddbbbb;;;;
  46.            ddddoooouuuubbbblllleeee                aaaallllpppphhhhaaaa;;;;
  47.            ddddoooouuuubbbblllleeee                ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]];;;;
  48.  
  49.      vvvvooooiiiidddd ssssttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  50.            OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee         ssssiiiiddddeeee;;;;
  51.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee        uuuupppplllloooo;;;;
  52.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee       ttttrrrraaaannnnssssaaaa;;;;
  53.            MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr  ddddiiiiaaaagggg;;;;
  54.            IIIInnnntttteeeeggggeeeerrrr               mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb;;;;
  55.            ffffllllooooaaaatttt                 aaaallllpppphhhhaaaa;;;;
  56.            ffffllllooooaaaatttt                 ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]];;;;
  57.  
  58.      vvvvooooiiiidddd zzzzttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  59.            OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee         ssssiiiiddddeeee;;;;
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____TTTTRRRRSSSSMMMM((((3333FFFF))))                                                            ____TTTTRRRRSSSSMMMM((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee        uuuupppplllloooo;;;;
  75.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee       ttttrrrraaaannnnssssaaaa;;;;
  76.            MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr  ddddiiiiaaaagggg;;;;
  77.            IIIInnnntttteeeeggggeeeerrrr               mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb;;;;
  78.            ZZZZoooommmmpppplllleeeexxxx               aaaallllpppphhhhaaaa;;;;
  79.            ZZZZoooommmmpppplllleeeexxxx               ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]];;;;
  80.  
  81.      vvvvooooiiiidddd ccccttttrrrrssssmmmm(((( ssssiiiiddddeeee,,,, uuuupppplllloooo,,,, ttttrrrraaaannnnssssaaaa,,,, ddddiiiiaaaagggg,,,, mmmm,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, aaaa,,,, llllddddaaaa,,,, bbbb,,,, llllddddbbbb ))))
  82.            OOOOppppeeeerrrraaaattttiiiioooonnnnSSSSiiiiddddeeee         ssssiiiiddddeeee;;;;
  83.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee        uuuupppplllloooo;;;;
  84.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee       ttttrrrraaaannnnssssaaaa;;;;
  85.            MMMMaaaattttrrrriiiixxxxUUUUnnnniiiittttTTTTrrrriiiiaaaannnngggguuuullllaaaarrrr  ddddiiiiaaaagggg;;;;
  86.            IIIInnnntttteeeeggggeeeerrrr               mmmm,,,, nnnn,,,, llllddddaaaa,,,, llllddddbbbb;;;;
  87.            CCCCoooommmmpppplllleeeexxxx               aaaallllpppphhhhaaaa;;;;
  88.            CCCCoooommmmpppplllleeeexxxx               ((((****aaaa))))[[[[llllddddaaaa****kkkk]]]],,,, ((((****bbbb))))[[[[llllddddaaaa****nnnn]]]];;;;
  89.  
  90.  
  91.  
  92. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  93.      ddddttttrrrrssssmmmm, ssssttttrrrrssssmmmm, zzzzttttrrrrssssmmmm and ccccttttrrrrssssmmmm solve one of the matrix equations
  94.  
  95.            op( A )*X = alpha*B,   or   X*op( A ) = alpha*B,
  96.  
  97.      where alpha is a scalar, X and B are m by n matrices, A is a unit, or
  98.      non-unit,  upper or lower triangular matrix  and  op( A )  is one  of
  99.  
  100.            op( A ) = A   or   op( A ) = A'   or   op( A ) = conjg( A' ).
  101.  
  102.      The matrix X is overwritten on B.
  103.  
  104.  
  105. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  106.      ssssiiiiddddeeee    On entry, ssssiiiiddddeeee specifies whether op( A ) appears on the left or
  107.              right of X as follows:
  108.  
  109.  
  110.                      FFFFOOOORRRRTTTTRRRRAAAANNNN
  111.                      side = 'L' or 'l'       op( A )*X = alpha*B.
  112.                      side = 'R' or 'r'       X*op( A ) = alpha*B.
  113.  
  114.                      CCCC
  115.                      side = LeftSide       op( A )*X = alpha*B.
  116.                      side = RightSide        X*op( A ) = alpha*B.
  117.  
  118.              Unchanged on exit.
  119.  
  120.      uuuupppplllloooo    On entry, uuuupppplllloooo specifies whether the matrix A is an upper or
  121.              lower triangular matrix as follows:
  122.  
  123.  
  124.                      FFFFOOOORRRRTTTTRRRRAAAANNNN
  125.                      uplo = 'U' or 'u'       A is an upper triangular matrix.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ____TTTTRRRRSSSSMMMM((((3333FFFF))))                                                            ____TTTTRRRRSSSSMMMM((((3333FFFF))))
  137.  
  138.  
  139.  
  140.                      uplo = 'L' or 'l'       A is a lower triangular matrix.
  141.  
  142.                      CCCC
  143.                      uplo = UpperTriangle    A is an upper triangular matrix.
  144.                      uplo = LowerTriangle    A is a lower triangular matrix.
  145.  
  146.              Unchanged on exit.
  147.  
  148.      ttttrrrraaaannnnssssaaaa  On entry, ttttrrrraaaannnnssssaaaa specifies the form of op( A ) to be used in the
  149.              matrix multiplication as follows:
  150.  
  151.                   FFFFOOOORRRRTTTTRRRRAAAANNNN
  152.                   transa = 'N' or 'n'      op( A ) = A.
  153.                   transa = 'T' or 't'      op( A ) = A'.
  154.                   transa = 'C' or 'c'      op( A ) = conjg( A' ).
  155.  
  156.                   CCCC
  157.                   transa = NoTranspose          op( A ) = A.
  158.                   transa = Transpose            op( A ) = A'.
  159.                   transa = ConjugateTranspose   op( A ) = conjg( A' ).
  160.  
  161.              Unchanged on exit.
  162.  
  163.      ddddiiiiaaaagggg    On entry, ddddiiiiaaaagggg specifies whether or not A is unit triangular as
  164.              follows:
  165.  
  166.                   FFFFOOOORRRRTTTTRRRRAAAANNNN
  167.                   diag = 'U' or 'u'   A is assumed to be unit
  168.                                       triangular.
  169.                   diag = 'N' or 'n'   A is not assumed to be unit
  170.                                       triangular.
  171.  
  172.                   CCCC
  173.                   diag = UnitTriangular    A is assumed to be unit
  174.                                            triangular.
  175.                   diag = NotUnitTriangular A is not assumed to be unit
  176.                                            triangular.
  177.  
  178.              Unchanged on exit.
  179.  
  180.      mmmm       On entry, mmmm specifies the number of rows of B. mmmm must be at least
  181.              zero.
  182.              Unchanged on exit.
  183.  
  184.      nnnn       On entry, nnnn specifies the number of columns of B.  nnnn must be at
  185.              least zero.
  186.              Unchanged on exit.
  187.  
  188.      aaaallllpppphhhhaaaa   On entry, aaaallllpppphhhhaaaa specifies the scalar alpha. When aaaallllpppphhhhaaaa is zero
  189.              then aaaa is not referenced and bbbb need not be set before entry.
  190.              Unchanged on exit.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ____TTTTRRRRSSSSMMMM((((3333FFFF))))                                                            ____TTTTRRRRSSSSMMMM((((3333FFFF))))
  203.  
  204.  
  205.  
  206.      aaaa       An array containing the matrix A.
  207.  
  208.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  209.              Array of dimension (lda, k).
  210.  
  211.              CCCC
  212.              A pointer to an array of size lda*k.
  213.              See note below about array storage convention for C.
  214.  
  215.              kkkk is mmmm when side = 'L' or 'l' or LeftSide and is nnnn when side =
  216.              'R' or 'r' or RightSide.
  217.  
  218.              Before entry with uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr , the elements
  219.              corresponding to the leading  k by k upper triangular elements of
  220.              the matrix A must contain the upper triangular matrix and the
  221.              corresponding strictly lower triangular part of the matrix A is
  222.              not referenced.
  223.  
  224.              Before entry with uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr , the elements
  225.              corresponding to the leading k by k lower triangular elements of
  226.              the matrix A  must contain the lower triangular matrix and the
  227.              corresponding strictly upper triangular part of the matrix A is
  228.              not referenced.
  229.  
  230.              Note that when ddddiiiiaaaagggg ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr , the elements corresponding
  231.              to the diagonal elements of the matrix A are not referenced
  232.              either, but are assumed to be unity.
  233.  
  234.              Unchanged on exit.
  235.  
  236.      llllddddaaaa     On entry, llllddddaaaa specifies the first dimension of A as declared in
  237.              the calling (sub) program. When side = 'L' or 'l' then lda must
  238.              be at least max( 1, m ), when side = 'R' or 'r' then lda must be
  239.              at least max( 1, n ).
  240.              Unchanged on exit.
  241.  
  242.      bbbb       An array containing the matrix B.
  243.  
  244.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  245.              An array of dimension ( ldb, n ).
  246.  
  247.              CCCC
  248.              A pointer to an array of size ldb*n.
  249.              See note below about array storage convention for C.
  250.  
  251.              Before entry it should contain the elements corresponding to the
  252.              m by n matrix B.  On exit it overwritten by the transformed
  253.              matrix.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ____TTTTRRRRSSSSMMMM((((3333FFFF))))                                                            ____TTTTRRRRSSSSMMMM((((3333FFFF))))
  269.  
  270.  
  271.  
  272.      llllddddbbbb     On entry, llllddddbbbb specifies the first dimension of B as declared in
  273.              the calling (sub)program. ldb must be at least max( 1, m ).
  274.              Unchanged on exit.
  275.  
  276.  
  277. CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
  278.        The matrices  are assumed  to be stored in a  oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
  279.        in an analogous fashion as a Fortran array (column major). Therefore,
  280.        the element  A(i+1,j)  of matrix A  is stored  immediately  after the
  281.        element  A(i,j), while  A(i,j+1) is lda  elements apart from  A(i,j).
  282.        The element A(i,j) of the matrix can be accessed directly by reference
  283.        to  a[ (j-1)*lda + (i-1) ].
  284.  
  285.  
  286. AAAAUUUUTTTTHHHHOOOORRRRSSSS
  287.           Jack Dongarra, Argonne National Laboratory.
  288.           Iain Duff, AERE Harwell.
  289.           Jeremy Du Croz, Numerical Algorithms Group Ltd.
  290.           Sven Hammarling, Numerical Algorithms Group Ltd.
  291.  
  292.  
  293. TTTTUUUUNNNNIIIINNNNGGGG
  294.           Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.